Add extra tracing near a commonly-failing scheduler assertion.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Wed, 15 Mar 2006 09:32:34 +0000 (10:32 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Wed, 15 Mar 2006 09:32:34 +0000 (10:32 +0100)
Signed-off-by: Keir Fraser <keir@xensource.com>
xen/common/sched_sedf.c

index d4e889551441b5931d4cf6640e1b56a800822086..87f9f6ab004df831694a278131fe04481f2b260f 100644 (file)
@@ -585,6 +585,10 @@ static void update_queues(
                 curinf->deadl_abs += 
                     DIV_UP(now - curinf->deadl_abs,
                            curinf->period) * curinf->period;
+            if (unlikely(curinf->deadl_abs < now))
+                printk("Fatal scheduler error: %lld %lld %lld diff=%lld\n",
+                       curinf->deadl_abs, now, curinf->period,
+                       now - curinf->deadl_abs);
             ASSERT(curinf->deadl_abs >= now);
             /*give a fresh slice*/
             curinf->cputime = 0;